// 检测用户资料是否完善
import {userDataConfig} from "@/api/user";

async function completeData(userInfo) {
    // needComplete 1=>上传身份证正反面\n2=>上传手持身份证\n3=>添加联系人\n4=>添加常用手机号\n5=>添加常用邮箱

    // 需要完善的资料
    let needComplete=[]
    const res = await userDataConfig()
    if (res.status === 200) {
        needComplete = res.data.user_auth_config || []
    }


    // 判断用户是否已经完善所有必须字段
    let auth = {};
    try {
        auth = userInfo.auth ? JSON.parse(userInfo.auth) : {};
    } catch (e) {
        auth = {};
    }
    const infoImg = auth.infoImg
    const emblemImg = auth.emblemImg
    const handsImg = auth.handsImg
    const hasContactInfo = userInfo.contacts_info;
    const hasEmail = userInfo.email;
    const hasMostPhone = userInfo.most_phone;

    // 根据接口返回的 needComplete 动态判断是否缺失某项
    return needComplete.some(field => {
        switch (field) {
            case 1: // 身份证正反面
                return !(infoImg && emblemImg);
            case 2: // 手持身份证
                return !handsImg;
            case 3: // 联系人
                return !hasContactInfo;
            case 4: // 常用手机号
                return !hasMostPhone;
            case 5: // 常用邮箱
                return !hasEmail;
            default:
                return false;
        }
    });
}
export { completeData}